<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .box {
            width: 200px;
            height: 200px;
            background-color: red;
        }
    </style>
</head>

<body>
    <div id="app">



        <!--   绑定方法传递 实际参数 -->
        <button @click='handler1("hello")'> 第一种方式 方便传递参数 </button>

        <div @click='fatherHandler' class="box">

            <!-- 不传递参数 默认会传递事件对象 -->
            <button @click='handler2'> 第二种方式 </button>

        </div>

        <!--   如果参数与事件对象都需要传递 那么事件对象只能写成  $event   而且只能是最后一个参数  -->
        <button @click='handler3("你好", "xxx",$event)'> 第三种方式 </button>
    </div>
    <script src="./vue.js"></script>
    <script>
        var vm = new Vue({
            el: '#app',
            data: {
                msg: "隔壁老周吃烧烤"
            },
            methods: {

                handler1(data) { // 形参
                    console.log(data);

                    console.log(this === vm); //  true
                    console.log(this.msg); // 获取data里面的数据

                },
                handler2(e) {

                    console.log(e);
                    alert('handler2')
                    event.stopPropagation();


                },

                fatherHandler() {
                    alert('fatherHandler')
                },
                handler3(data1, data2, event) {
                    console.log(data1);
                    console.log(data2);
                    console.log(event);

                }


            }
        });
    </script>
</body>

</html>